This invention relates generally to a method and apparatus for creating and modifying a string of symbols in computer storage apparatus and, in particular, it relates to a method and apparatus which utilizes a two-part cursor for constantly indicating the effect of certain operations on a string of symbols stored in a computer.
In certain computer applications, such as word processing, an operator enters selected symbols, such as, for example, alphanumeric characters, via a keyboard (or other entry means). The entered symbols are stored in the storage apparatus of the computer system where they become part of a string of symbols. The stored string of symbols defines a document which, through the inclusion of special page break and carriage return symbols, may be subdivided into pages and lines of text. All or part of the stored string of symbols is displayed on a display device as additional symbols are entered and stored. To aid the operator, a cursor is usually displayed to indicate the position in the string where the next entered symbol will be inserted.
In prior art systems the cursor sits on a particular character (typically as: (i) a flashing block surrounding or, (ii) an underline beneath or, (iii) a vertical bar to the right or left of the character being pointed to.). The function of the cursor is to indicate a locus or site where a user action, such as inserting or deleting characters, will take place. However, in certain computer applications, such as word processing, there are usually two such loci, namely (i) that character that will be replaced or displaced when a new character is typed and (ii) that character that will be erased when the backspace or delete key is typed. They are not, in general, the same character. This is based on mimicking the operation of a typewriter.
In prior art systems the user has had to remember a rule such as: the insertion will be to the right of the cursor and deleting will be to the left. Neophytes find having to learn such a rule confusing. Even experienced user have trouble remembering to whence the cursor should be moved in order to insert or delete a character into the midst of text. For example, to remove the letter "x" from "anxd" in most examples of prior art systems, the user has to remember to move the cursor not to the "x", but to the "d;" but on some systems the user would have to remember to move the cursor to the "n". On a very few systems the user would be able to do the obvious and move the cursor to the "x" but on those systems the user has to aim "one off" for insertion rather than deletion so there is no overall benefit.